package com.blb.mapper;

import com.blb.pojo.Employee;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface EmployeeMapper {

    List<Employee> selectAll();

    /**
     * 通过姓名进行模糊查询
     * @param name
     * @return
     */
    List<Employee> selectEmployeesLikeName(String name);

    /**
     * 根据id查询员工
     * @param id
     * @return
     */
    Employee selectById(Long id);

    /**
     * 更新员工
     * @param employee
     */
    void updateEmployee(Employee employee);

    /**
     * 通过年龄区间查询员工
     * @param min
     * @param max
     * @return
     */
    List<Employee> selectEmployeeByAge(@Param("min") Long min,
                                       @Param("max") Long max);

    /**
     * 通过员工的多个属性查询员工列表
     * @param employee
     * @return
     */
    List<Employee> selectEmployeesByEmployee(Employee employee);

    /**
     * 按多个id查询员工
     * @param ids
     * @return
     */
    List<Employee> selectEmployeesByIds(@Param("ids") List<Long> ids);

    /**
     * 通过部门id查员工
     * @param deptId
     * @return
     */
    List<Employee> selectEmployeesByDeptId(Long deptId);
}
